The use of computer systems and computer-related technologies continues to increase at a rapid pace. This increased use of computer systems has influenced the advances made to computer-related technologies. Indeed, computer systems have increasingly become an integral part of the business world and the activities of individual consumers. Computer systems are used to carry out several business, industry, and academic endeavors. For example, computer systems are used to complete transactions, store data, provide information, etc.
Performance instructions may be transferred to a computer system by way of an executable file. An executable file may cause the computer system to perform indicated tasks according to instructions, as opposed to a file that only includes data. The contents of an executable file may be substantial in size. In some example, the contents of the executable file may be compressed by a compressing program that uses a compression algorithm. In addition, the instructions are encoded in some manner to deter reverse engineering of the executable file. Often times, the contents of the executable file may be obfuscated to conceal the contents from other parties in order to protect the intellectual property aspects of the executable file.
Executable files may also be used to introduce malicious code to a computer system (such as a virus). Developers of such malicious code may use an obfuscator program to prevent the virus from being detected by an antivirus engine, for example. Executable files that are obfuscated by known obfuscator programs may be less likely to include malicious obfuscated code among the legitimate obfuscated code. As such, benefits may be realized by improving the detection of executable files whose content has not been obfuscated by a trusted, known program. In particular, benefits may be realized by providing improved systems and methods for identifying an executable file that has been obfuscated by an unknown obfuscator program.